The invention relates generally to computer test equipment, and deals more particularly with a computer based test tool which is used to automatically test application programs and associated hardware, for example, by sending keystrokes to simulate user input and analyzing displays resulting from the application program that processes the input.
It is important to determine that application programs and supporting hardware are working properly prior to actual use. For example, it is important to determine if an application program can successfully respond to a keyboard input by writing data into a proper memory location, and be able to read the data stored in the memory location. A manual technique for making these tests was previously known in which a person manually enters data through the keyboard under the control of an application program and designates the proper memory location for the data. Then, the person enters a command through the keyboard to read the data contained in the designated memory location and display the data on a computer screen. Then, the person compares the displayed results to the data previously entered to determine if the application program and hardware are working properly. This is an extremely time consuming process because there are many functions to be tested in each application program and many target memory locations.
Heretofore, IBM Corporation utilized an automated test system to automate the testing process for testing IBM's 4381 processor and IBM's 9370 processor and related application programs. The application programs include service processor application programs which are used by the customer to test the operability of the processor and other associated hardware. IBM's automated test system is a human operator simulator which mimics a person's interaction with a computer. It is able to automatically send commands to a host processor, read responses on the screen made by the host processor, and determine if those responses reflect correct operation of the processor. The person's interface to the system is through a test case program, i.e., a program that compares the specifications of a machine or program to the results obtained from operating the machine or executing the program. The test case can be written either in a C program language or a restructured extended executor language (REXX). Once a test case has been written and debugged, the possibility of inaccurate results or error due to the automated test system is minimal so that not only the speed of testing and human time savings is improved but also the reliability of the test. IBM's automated test system can execute the test without human supervision. Also, no alterations or modifications are required to the application program to permit testing.
This prior art IBM automated test system comprises two personal computers coupled together via communication and interface hardware within each personal computer. In practice, each of the personal computers comprises either an IBM XT personal computer or AT personal computer and DOS operating system. One of the personal computers is the device under test and executes the application program to be tested. This personal computer is also coupled to a host computer, and the aforesaid application program can be a service function to diagnose the host computer. The other personal computer is a driver and is the personal computer that controls and monitors the device under test personal computer. The driver is loaded with and executes (a) a test case program that functionally tests the device under test, and (b) an automated test system software which assists the test case program in carrying out tasks such as transmitting keystrokes to the device under test, which keystrokes are designated by the test case program, and screening information provided by the device under test in response to the keystroke inputs.
The aforesaid IBM automated test system executes in real mode, i.e. it sends data to and reads the physical display directly. As noted above, it requires two personal computers and additional interface and communication hardware within each personal computer. Also, the prior art IBM automated test system can only test one application program at a time.
Accordingly, a general object of the present invention is to provide automatic function testing without requiring an additional driver personal computer.
Another general object of the present invention is to provide automatic function testing without requiring special interface and communication hardware.
Another object of the present invention is to permit one test case to test two application programs (almost) simultaneously.
Another object of the present invention is to permit multiple test cases to test multiple applications concurrently.
Still another object of the present invention is to realize the foregoing objects without requiring adaptation or modification to the application program under test.